#include<iostream>
using namespace std;
const int len = 120;
int arr[len], ans[len];
void Mul(int x)
{
	int jw = 0;
	for (int i = 1; i < len; i++) {
		arr[i] = arr[i] * x + jw;
		jw = arr[i] / 10;
		arr[i] %= 10;
	}
}
void Add()
{
	int jw = 0;
	for (int i = 1; i < len; i++) {
		ans[i] = ans[i] + arr[i] + jw;
		jw = ans[i] / 10;
		ans[i] %= 10;
	}
}
int main()
{
	int n;
	cin >> n;
	arr[1] = 1;
	for (int i = 1; i <= n; i++) {
		Mul(i);
		Add();
	}
	bool flag = 0;
	for (int i = len; i >= 1; i--) {
		if (arr[i] != 0) {
			flag = 1;
		}
		if (flag == 1) {
			cout << ans[i];
		}
	}
	cout << endl;
	return 0;
}
//int main()
//{
//	int n;
//	cin >> n;
//	long long ans = 1;
//	for (int i = 1; i <= n; i++) {
//		ans *= i;
//	}
//	cout << ans << endl;
//	return 0;
//}